package com.lantosec.hmrp.modules.morality.service;

import com.lantosec.hmrp.core.kit.PageVO;
import com.lantosec.hmrp.modules.morality.entity.MoralityBranchDept;
import com.lantosec.hmrp.modules.morality.entity.MoralityPlan;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lantosec.hmrp.modules.morality.entity.MoralityPlanList;
import com.lantosec.hmrp.modules.morality.vo.MoralityPlanVO;

import java.util.List;

/**
 * <p>
 * 考评方案 服务类
 * </p>
 *
 * @author AutoCode
 * @since 2020-04-16
 */
public interface IMoralityPlanService extends IService<MoralityPlan> {

    /**
     * 新增考评方案
     * @param moralityPlanList
     */
    Integer saveMoralityPlan(MoralityPlanList moralityPlanList);

    /**
     * 修改考评方案
     * @param moralityPlanList
     */
    void updateMoralityPlan(MoralityPlanList moralityPlanList);

    /**
     * 查询考评方案
     * @param page
     * @param moralityPlanName
     * @param moralityCycleId
     */
    List<MoralityPlanVO> getAll(PageVO<MoralityPlanVO> page, String moralityPlanName, Integer moralityCycleId);

    /**
     * 删除考评方案
     * @param moralityPlanId
     */
    void deleteMoralityPlan(Integer moralityPlanId);

    /**
     * 新增党支部
     * @param moralityBranchDept
     */
    void saveBranchDept(List<MoralityBranchDept> moralityBranchDept);

    /**
     * 查询党支部
     * @param page
     * @param branchId
     * @param deptId
     * @return
     */
    List<MoralityBranchDept> getBranchDept(PageVO<MoralityBranchDept> page, String branchId, String deptId);

    /**
     * 修改党支部
     * @param moralityBranchDept
     */
    void updateBranchDept(MoralityBranchDept moralityBranchDept);

    /**
     * 删除党支部
     * @param branchId
     */
    void deleteBranchDept(String branchId);

    /**
     * 查询系统中党支部已设定的科室
     * @return
     */
    List<String> getBranchOfDeptId();
}
